//SocketLibSystem.h
 
#ifndef SOCKETLIBSYSTEM_H_
#define SOCKETLIBSYSTEM_H_

#include <iostream>
#include <string>
#include <set>
#include "SocketLibTypes.h"
#include "SocketLibSystem.h"
namespace SocketLib{

	/**
	 * [GetIPAddress description]
	 * @param  p_address  such as "192.168.0.1" or "www.baidu.com"
	 * @return            a net byte order int for ip
	 */
	ipaddress GetIPAddress(const std::string p_address);

	/**
	 * [GetIPString description]
	 * @param  p_address  NBO int for ip
	 * @return            string for ip
	 */
	std::string GetIPString(ipaddress p_address);

	/**
	 * [GetHostNameString description]
	 * @param  p_address NBO int for ip
	 * @return           string for hostname           
	 */
	std::string GetHostNameString(ipaddress p_address);

	/**
	 * [IsIPAddress description]
	 * @param  p_address NBO int for ip
	 * @return           boolean for if the string is an IP 
	 */
	bool IsIPAddress(const std::string p_address);

}

#endif